﻿namespace WMS6.Services
{
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.ServiceModel;
    using WMS6.DataEntity;

    [ServiceContract(Namespace="WMS6.Services")]
    public interface IPrintReportService
    {
        [ServiceKnownType(typeof(EncasingNoteInfo)), OperationContract, ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(EncasingDetailNote))]
        DataSet GetEncasingDetailNote(string orderID, string containerID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(EncasingDetailNote)), ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(EncasingNoteInfo))]
        DataSet GetEncasingNote(string orderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReceiptInfo)), ServiceKnownType(typeof(PrintReportsInfo)), OperationContract, ServiceKnownType(typeof(PrintReceiptDetailInfo))]
        DataSet GetPrintAllocation(string receiptID, PrintReportsInfo printReportsInfo);
        [OperationContract]
        DataSet GetPrintBatchOutboundListReport(string waveID, string orderIDs, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintBatchPickAdviceReport(string waveID, PrintReportsInfo printReportsInfo, string updatedBy);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintBatchPickAdviceReportByOrders(string orderIDs, PrintReportsInfo printReportsInfo, string updatedBy);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract, ServiceKnownType(typeof(PrintPickListReportInfo)), ServiceKnownType(typeof(PrintPickListDetailReportInfo))]
        DataSet GetPrintBatchPickListReportInfo(string orderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintBatchShippingOrderReport(string waveID, string orderIDs, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintCarNoticeSet(string orderID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintCommoditySignoffInfo)), ServiceKnownType(typeof(PrintCommoditySignoffDetailInfo))]
        DataSet GetPrintCommoditySignoff(string orderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintCycleCountTagListInfo)), ServiceKnownType(typeof(PrintCycleCountInfo)), ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintCycleCountByReleaseID(string releaseID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintImportReceipt(string receiptID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintInventoryAdjustment(string adjustmentID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintKittingWorkReportInfo(string orderID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintLoading(string loadID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintLpnLabelInfo(string lpns, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintMergePickListReportInfo)), ServiceKnownType(typeof(PrintPickListDetailReportInfo)), OperationContract]
        DataSet GetPrintMergePickListReportInfo(string waveID, string descr, string detailID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintOrderMovementDetailInfo)), ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintOrderMovementInfo)), OperationContract]
        DataSet GetPrintOrderMovementInfo(string movementID, PrintReportsInfo printReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintOutboundInfo)), ServiceKnownType(typeof(PrintOutboundDetailInfo)), ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintOutboundInfo(string OrderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintOutboundListDetailInfo)), ServiceKnownType(typeof(PrintOutboundListInfo)), ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintOutboundListInfo(string OrderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintPaymentBillByMovementID(string movementID, PrintReportsInfo tempPrintReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintPaymentBillByOrderID(string orderID, PrintReportsInfo tempPrintReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintPaymentBillByReceiptID(string receiptID, PrintReportsInfo tempPrintReportsInfo);
        [ServiceKnownType(typeof(PrintPCMaintenanceListDetailInfo)), OperationContract, ServiceKnownType(typeof(PrintPCMaintenanceListInfo)), ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintPCMaintenance(string PhysicalRequestID, string OnlyNonEmptyLoc, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintPCMaintenanceListDetailInfo)), ServiceKnownType(typeof(PrintPCMaintenanceListInfo)), OperationContract]
        DataSet GetPrintPCReview(string PhysicalRequestID, string OnlyNonEmptyLoc, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintPickDivideReport(string waveID, string orderIDs, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract, ServiceKnownType(typeof(PrintPickListReportInfo)), ServiceKnownType(typeof(PrintPickListDetailReportInfo))]
        DataSet GetPrintPickListReportInfo(string orderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintPickListDetailReportInfo)), OperationContract, ServiceKnownType(typeof(PrintPickListReportInfo))]
        DataSet GetPrintPickReportInfo(string orderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintPickListReportInfo)), OperationContract, ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintPickListDetailReportInfo))]
        DataSet GetPrintPickWorkReportInfo(string orderID, PrintReportsInfo printReportsInfo, string updatedBy);
        [OperationContract, ServiceKnownType(typeof(PrintPurchaseOrderInfo)), ServiceKnownType(typeof(PrintPurchaseOrderDetailInfo)), ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintPurchaseOrderInfo(string poID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract, ServiceKnownType(typeof(PrintPutawayReportInfo)), ServiceKnownType(typeof(PrintPutawayDetailInfo))]
        DataSet GetPrintPutawayReportInfo(string receiptID, List<string> taskDetailID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintQCReportInfo(string receiptID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReceiptHistoryInfo)), ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(PrintReceiptHistoryDetailInfo)), OperationContract]
        DataSet GetPrintReceiptHistoryInfo(string receiptID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract, ServiceKnownType(typeof(PrintReceiptInfo)), ServiceKnownType(typeof(PrintReceiptDetailInfo))]
        DataSet GetPrintReceiptInfo(string receiptID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintReceivableBillByMovementID(string movementID, PrintReportsInfo tempPrintReportsInfo);
        [OperationContract, ServiceKnownType(typeof(PrintReportsInfo))]
        DataSet GetPrintReceivableBillByOrderID(string orderID, PrintReportsInfo tempPrintReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintReceivableBillByReceiptID(string receiptID, PrintReportsInfo tempPrintReportsInfo);
        [ServiceKnownType(typeof(PrintSalesOrderInfo)), ServiceKnownType(typeof(PrintReportsInfo)), OperationContract, ServiceKnownType(typeof(PrintSalesOrderDetailInfo))]
        DataSet GetPrintSalesOrderInfo(string orderID, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), ServiceKnownType(typeof(ShippingOrderDetailRptInfo)), ServiceKnownType(typeof(ShippingOrderRptInfo)), OperationContract]
        DataSet GetPrintShippingOrderID(string ordersID, List<string> pickDetailIDs, PrintReportsInfo printReportsInfo);
        [ServiceKnownType(typeof(PrintReportsInfo)), OperationContract]
        DataSet GetPrintWaveShipmentReport(string waveIDs, PrintReportsInfo printReportsInfo);
    }
}

